home *** CD-ROM | disk | FTP | other *** search
- Path: ra.nrl.navy.mil!usenet
- From: pitre@n5160d.nrl.navy.mil (Richard Pitre)
- Newsgroups: comp.lang.c++
- Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
- Date: 15 Mar 1996 00:09:32 GMT
- Organization: Naval Research Laboratory
- Message-ID: <4iacfs$pfm@ra.nrl.navy.mil>
- References: <4i9u0l$vru@saba.info.ucla.edu>
- NNTP-Posting-Host: n5160d.nrl.navy.mil
-
- In article <4i9u0l$vru@saba.info.ucla.edu> jmartin@cs.ucla.edu (Jay Martin)
- writes:
- > seebs@solutions.solon.com (Peter Seebach) writes:
- >
- > >In article <4i862r$1evq@saba.info.ucla.edu>,
- > >Jay Martin <jmartin@cs.ucla.edu> wrote:
- > >>No "hacking" is broader than that, it is writing poor code period.
- >
- > >Bullshit. Read the jargon file.
- >
- > Your jargon file is bullshit (obsolete). Comes from primitive times
- > when coding wizardry was cool. Anything with "hack" in it is now at
- > best ambiguous (can mean cracking,etc) and mostly negative. The
- > meaning of hacking and hackers in this discussion is "anti-software
- > engineering/ good programming practices". I wouldn't put "hack" on
- > resumes.
- >
- > >And for good reason. The key point is that, if the C programmer were the
- > >one talking about design concepts, and the Eiffel programmer were talking
- > >about cool optimizations she learned for the implementation she used, you'd
- > >hire the C programmer.
- >
- > Yup, but its probably really hard to find "hacker" Eiffel programmers.
- >
- > >>To demonstrate the "C hacker culture" (filed under macho attitudes)
- > >>here's a random recent example:
- >
- > >>rmartin@oma.com (Robert C. Martin) writes:
- > >>>No, I disagree with your point. It is not the responsibility of the
- > >>>language to make the engineer better. It is the responsibility of the
- > >>>engineer to become adept at the language.
- >
- > >>Clear demonstration of views that have left software engineering
- > >>and entered the "C Hacker Zone".
- >
- > >No, it's a philosophical distinction.
- >
- > Don't see the difference between "C Hacker culture" and "C Hacker
- philosophy".
- >
- > >I agree with him; it is *impossible*
- > >to make someone think in high level terms. A bad programmer will make
- > >design and stylistic errors in Ada, too. Languages can prevent typos, and
- > >low-level errors. They cannot prevent stupid design. (Unless Ada can
- > >detect bubblesort, and optimize it into something better?)
- >
- > No they can't, but good tools should give all the help they can.
- > Its this black/white macho "I don't need no stinking checking",
- > "nothing is completely safe, so forget safety" is a hallmark
- > of the "C Hacker culture".
-
- I am a C/C++ programmer. Some time ago I got to use Modula 2 for a bit.
- Thinking back on my C programming was, I would guess, somewhat like taking an
- alzheimers patient on one of his better days and showing
- him a film of himself on a bad day. I eventually had to abandon Modula 2
- because it wasn't well supported on my machine(I eventually abandoned the
- machine because I couldn't get a C compiler with really good support).
- Nevertheless, I've never felt comfortable with C since that experience.
- Having your code run fresh out of the compiler a large percentage of the time
- does something to your head. Returning to C was painful and no matter how much
- I learned and tried to improve my methods I have never duplicated my
- performance using Modula 2. When I describe this experience to someone they
- typically respond with something like, "yeah so what, I love C, Modula 2 is
- ugly, and how could the compiler possibly make that much difference and I'm not
- even going to look". I love C too and Modula 2 is uglier than the devils
- asshole but I have eternal respect for one N. Wirth.
-
- I think the problem with coding is that it is done by humans who have a very
- limited ability to deal with complexity and who need all the help they can get
- when dealing with an idiot savant machine that amplifies the bejeesus out of
- their mistakes when they have their back turned. The situation, in this regard,
- is significantly augmented with C++. When I hear people minimizing the
- importance of compiler checking and cross checking because their methods and
- auxillary tools have it covered I want to laugh, but I can't because its too
- serious. Code is too often subtle and programmers are too often tired. I'm not
- really bashing C++. It is an excellent precision professional tool for highly
- disciplined programmers and I believe that it is the essential tool for some
- applications. For my needs, I would switch out of C++ in a heartbeat if there
- was a real alternative. All of the alternatives that I know of involve some
- significant compromise one way or another. I'm having a serious look at Ada now
- that I found out about the GNU version(GNAT) and that Ada95 is an actual ANSI
- standard.
-
- C++ is necessary and better but not always, everywhere, and for everyone. More
- people need to do serious experiments with the alternatives instead of bashing
- them. In this regard I object to most of the content of these language bashing
- threads because it engenders an adversarial attitude that is detrimental to
- open minded consideration of the real possibilities for writing good code.
-
- richard
-
-